﻿using System.Windows.Input;
using ScrumFactory.Composition.ViewModel;


namespace ScrumFactory.Windows.ViewModel {

    /// <summary>
    /// Message Box View Model interface.
    /// </summary>
    public interface IMessageBoxViewModel :  IWindowViewModel {

        /// <summary>
        /// Gets the result chossen by the user.
        /// </summary>
        /// <value>The result.</value>
        System.Windows.MessageBoxResult Result { get; }

        /// <summary>
        /// Gets the buttons that should be displayed at the message box.
        /// </summary>
        /// <value>The buttons.</value>
        System.Windows.MessageBoxButton Buttons { get; set;  }

        /// <summary>
        /// Gets the title of the message box.
        /// </summary>
        /// <value>The title.</value>
        string Title { get; set; }

        /// <summary>
        /// Gets the message of the message box.
        /// </summary>
        /// <value>The message.</value>
        string Message { get; set; }

        /// <summary>
        /// Gets the source of the image to be displayed at the message box.
        /// </summary>
        /// <value>The image source.</value>
        string ImageSource { get; set; }
        
        /// <summary>
        /// Gets the result button pressed command.
        /// </summary>
        /// <value>The result button pressed command.</value>
        ICommand ResultButtonPressedCommand { get; }
        
    }
}
